#coding=utf-8
'''
# @Name:request_hook
# @author:mysouil
# @Description:请求钩子
# @DATE:2022/9/25 0:06
# @Modified By:
'''

'''
在请求进来之前，得到request携带的token，并且验证token
'''

from flask import g,request,current_app
from comment.utils.token_pyjwt import verify_token

def jwt_request_auth():
    '''
    自定义一个请求钩子函数，验证token，并且把验证成功之后的用户id保存到全局变量g中
    :return:
    '''
    # 定义一个变量user_id
    g.user_id = None

    try:
        token = request.headers.get('token')
    except:
        # 警告日志
        current_app.logger.warn("请求头中没有token")
        return
    print('token',token)
    result = verify_token(token)
    
    # 如果验证成功，那么字典中一定有id
    if 'id' in result:
        g.user_id = result['id']
    